<!-- 蓝色简洁登录页面 -->
<template>
  <view class="t-login">
    <!-- 页面装饰图片 -->
    <image class="img-a" src="@/static/2.png"></image>
    <image class="img-b" src="@/static/3.png"></image>
    <!-- 标题 -->
    <view class="t-b">{{ title }}</view>
    <form class="cl">
      <view class="t-a">
        <image src="@/static/sj.png"></image>
        <input type="number" name="phone" placeholder="请输入手机号" maxlength="11" v-model="phone" />
      </view>
      <view class="t-a">
        <image src="@/static/yz.png"></image>
        <input type="number" name="code" maxlength="6" placeholder="请输入验证码" v-model="yzm" />
        <view v-if="showText" class="t-c" @tap="getCode()">发送短信</view>
        <view v-else class="t-c" style="background-color: #A7A7A7;">重新发送({{ second }})</view>
      </view>
      <button @tap="login()">登 录</button>
    </form>
  </view>
</template>
<script>
let app = getApp();
export default {
  data() {
    return {
      title: '欢迎使用易小语！',
      second: 90,
      showText: true,
      phone: '',
      yzm: ''
    };
  },
  onLoad() {},
  methods: {
    //当前登录按钮操作
    async login() {
      if (!this.phone) {
        uni.showToast({ title: '请输入手机号', icon: 'none' });
        return;
      }
      if (!/^[1][3,4,5,7,8,9][0-9]{9}$/.test(this.phone)) {
        uni.showToast({ title: '请输入正确手机号', icon: 'none' });
        return;
      }
      if (!this.yzm) {
        uni.showToast({ title: '请输入验证码', icon: 'none' });
        return;
      }
      const result = await this.$api.register({
        mobile: this.phone,
        code: this.yzm
      });
      if(result.code === 1){
        uni.setStorageSync("token", result.token);
        let userinfo = await app.getMineInfo();
        if(userinfo.id){
          uni.showToast({ title: '登录成功！', icon: 'success' });
          uni.switchTab({
            url: "/pages/index/index"
          })
        }
      }
    },
    //获取短信验证码
    async getCode() {
      if(!this.phone) return this.$u.toast("请输入手机号");
	    if(!this.$u.test.mobile(this.phone)) return this.$u.toast("手机号格式错误");
      var interval = setInterval(() => {
        this.showText = false;
        var times = this.second - 1;
        //this.second = times<10?'0'+times:times ;//小于10秒补 0
        this.second = times;
        console.log(times);
      }, 1000);
      setTimeout(() => {
        clearInterval(interval);
        this.second = 90;
        this.showText = true;
      }, 90000);
      const res = await this.$api.send_sms({mobile: this.phone});
      if(res.code === 1){
        this.showText = false;
        // //这里请求后台获取短信验证码
        // uni.request({
        //   //......//此处省略
        //   success: function(res) {
        //     this.showText = false;
        //   }
        // });
      }
    },
  }
};
</script>
<style>
.img-a {
  position: absolute;
  width: 100%;
  top: -120rpx;
  right: -100rpx;
}
.img-b {
  position: absolute;
  width: 50%;
  bottom: 0;
  left: -50rpx;
  margin-bottom: -70rpx;
}
.t-login {
  width: 600rpx;
  margin: 0 auto;
  font-size: 28rpx;
  color: #000;
}

.t-login button {
  font-size: 28rpx;
  background: #5677fc;
  color: #fff;
  height: 90rpx;
  line-height: 90rpx;
  border-radius: 50rpx;
  box-shadow: 0 5px 7px 0 rgba(86, 119, 252, 0.2);
}

.t-login input {
  padding: 0 20rpx 0 120rpx;
  height: 90rpx;
  line-height: 90rpx;
  margin-bottom: 50rpx;
  background: #f8f7fc;
  border: 1px solid #e9e9e9;
  font-size: 28rpx;
  border-radius: 50rpx;
}

.t-login .t-a {
  position: relative;
}

.t-login .t-a image {
  width: 40rpx;
  height: 40rpx;
  position: absolute;
  left: 40rpx;
  top: 28rpx;
  border-right: 2rpx solid #dedede;
  padding-right: 20rpx;
}

.t-login .t-b {
  text-align: left;
  font-size: 46rpx;
  color: #000;
  padding: 300rpx 0 120rpx 0;
  font-weight: bold;
}

.t-login .t-c {
  position: absolute;
  right: 22rpx;
  top: 22rpx;
  background: #5677fc;
  color: #fff;
  font-size: 24rpx;
  border-radius: 50rpx;
  height: 50rpx;
  line-height: 50rpx;
  padding: 0 25rpx;
}

.t-login .t-d {
  text-align: center;
  color: #999;
  margin: 80rpx 0;
}

.t-login .t-e {
  text-align: center;
  width: 250rpx;
  margin: 80rpx auto 0;
}

.t-login .t-g {
  float: left;
  width: 50%;
}

.t-login .t-e image {
  width: 50rpx;
  height: 50rpx;
}

.t-login .t-f {
  text-align: center;
  margin: 200rpx 0 0 0;
  color: #666;
}

.t-login .t-f text {
  margin-left: 20rpx;
  color: #aaaaaa;
  font-size: 27rpx;
}

.t-login .uni-input-placeholder {
  color: #000;
}

.cl {
  zoom: 1;
}

.cl:after {
  clear: both;
  display: block;
  visibility: hidden;
  height: 0;
  content: '\20';
}
</style>
